
/**
 * 验证小数点后几位
 * @param arg1
 * @param arg2
 * @return
 */
function accMul(arg1,arg2) 
{ 
	var m=0,s1=arg1.toString(),s2=arg2.toString(); 
	try
	{
		m+=s1.split(".")[1].length;
	}
	catch(e){} 
	try
	{
		m+=s2.split(".")[1].length;
		
	}
	catch(e){} 
	return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m);
}

//设置网页打印的页眉页脚为空
function pagesetup_null()
{                
	var hkey_root,hkey_path,hkey_key;
    hkey_root="HKEY_CURRENT_USER";
    hkey_path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
    try
    {
       var RegWsh = new ActiveXObject("WScript.Shell");
       hkey_key="header";
       RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"");
       hkey_key="footer";
       RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"");
   }
   catch(e){}
}

/**
 * 空串判断
 * 
 * @return true：空；false：非空
 */
function isEmptyStr(str) {
	if (str == null)
	{
		return true;
	}
	if (str.match(/^\s*$/g)) {
		return true;
	} else {
		return false;
	}
}

/**
 * 去除字符串空白
 */
String.prototype.Trim = function() {  
	var m = this.match(/^\s*(\S+(\s+\S+)*)\s*$/);  
	return (m == null) ? "" : m[1];  
};

/**
 * 小写转大写
 * 
 * @return
 */
function toUpperCaseTest(obj)   
{   
    var str = obj.value; // 初始化变量。
    var s;                                  // 声名变量
    s = str.toUpperCase();                  // 把所有小写字母变成大写
    obj.value = s;                            // 返回字符。
}
/**
 * 取字符串长度。 中文包含两个字节
 * 
 * @param str
 * @return
 */
function getLen(str) { 
	var len=0;
	for(var i=0;i<str.length;i++) {
		char = str.charCodeAt(i);
	
		if(!(char>255)) {
			len = len + 1;
		} else { 
			len = len + 2;
		}
	}
	return len;
}

/*
 * 共通脚本
 * 
 * @auther xn
 * 
 * @since 2010-08-28
 * @version 1.0
 */
function doAction(formObj, actionNm) {
	showLoad();
	formObj.action = actionNm;
	formObj.submit();
}

/**
 * 返回选择的Radio的value
 * 
 * @param radioName
 *            Radio的名字
 * @return
 */
function getRadioButonValue(radioName)
{
	var item = $(":radio[name='"+radioName+"']:checked").val(); 
	return item;
}
// ////////////////////////////////////message用js///////////////////////////////////////
/**
 * 前台js的msg替换 第一个参数是messageId 后面的参数是 替换字符
 */
function getMessage(){
	var args = Array.prototype.slice.call(arguments, 1);

    return arguments[0].replace(/\{(\d+)\}/g, function(m, i){
        return args[i];
    });
}

// ////////////////////////////////////画面项目用JS////////////////////////////////
/** 获取Table的行数 */
function getTableRows(tableId)
{
	if (tableId.indexOf("#") != 0)
	{
		tableId = "#"+tableId;
	}
	tableRows = $(tableId).rows.length;
	return tableRows;
}

/**
 * 给Lable标签设定值
 * 
 * @param id
 *            Lable标签ID
 * @param value
 *            值
 */
function setLableValue(id, value) 
{
	var jqueryid = id;
	if (jqueryid.indexOf("#") != 0)
	{
		jqueryid = "#"+jqueryid;
	}
	if(navigator.appName.indexOf("Explorer") > -1) {
		$(jqueryid).html(value);
	} else {
		$(jqueryid).html(value);
	}
}

/**
 * 点击全选复选框
 * 
 * @param allChkId
 *            全选复选框ID
 * @param chkGroupName
 *            复选框组名称
 */
function clickAllChk(allChkId, chkGroupName) {
	// 全选复选框
	var jqueryid = allChkId;
	if (jqueryid.indexOf("#") != 0)
	{
		jqueryid = "#"+jqueryid;
	}
	var allChkObj = $(jqueryid);
	
    if (allChkObj[0].checked) {
        chkAll(chkGroupName);
    } else {
        unChkAll(chkGroupName);
    } 
}

/**
 * 全选
 * 
 * @param chkGroupName
 *            复选框组名称
 */
function chkAll(chkGroupName) {
	var key = "input[name$="+ chkGroupName+ "]";
	var selects = $(key);
	
	// 复选框个数
	var cnt = selects.length;
	for (var i = 0; i < cnt; i++) {
		selects[i].checked = true;
    }
}

/**
 * 全不选
 * 
 * @param chkGroupName
 *            复选框组名称
 */
function unChkAll(chkGroupName) {
	// 复选框组
	var key = "input[name$="+ chkGroupName+ "]";
	var selects = $(key);

	// 复选框个数
	var cnt = selects.length;
	for (var i = 0; i < cnt; i++) {
		selects[i].checked = false;
    }
}

/**
 * 反选
 * 
 * @param chkGroupName
 *            复选框组名称
 */
function invertChk(chkGroupName) {
	// 复选框组
	var key = "input[name$="+ chkGroupName+ "]";
	var selects = $(key);

	// 复选框个数
	var cnt = selects.length;
	for (var i = 0; i < cnt; i++) {
		if (selects[i].checked) {
			selects[i].checked = false;
		} else {
			selects[i].checked = true;
		}
    }
}

/**
 * 根据复选框组选中个数，改变全选复选框状态
 * 
 * @param allChkId
 *            全选复选框ID
 * @param chkGroupName
 *            复选框组名称
 */
function changeAllChkStatus(allChkId, chkGroupName)
{
	var jqueryid = allChkId;
	if (jqueryid.indexOf("#") != 0)
	{
		jqueryid = "#"+jqueryid;
	}
	// 复选框组
	var key = "input[name$="+ chkGroupName+ "]";
	var selects = $(key);
	// 复选框个数
	var cnt = selects.length;
	// 选中个数
	var selCnt = 0;
	
	$.each(selects, function(i, checkbox)
	{
		if(checkbox.id ==allChkId)
		{
			
		}
		else if (checkbox.checked == true)
		{
				selCnt++;
		}
	});
	if (selCnt < cnt) {
		$(jqueryid).checked = false;
	} else {
		$(jqueryid).checked = true;
	}
}


// //////////////////////////////////////日期时间JS//////////////////////////////
/**
 * 显示系统日期
 */
function getSysDateWeek() {
	return (new Date().getFullYear() + "年" + (new Date().getMonth() + 1) + "月"
			+ new Date().getDate()+"日 "+' 星期'+'日一二三四五六'.charAt(new Date().getDay()));
}

/**
 * 显示系统日期时间
 */
function getSysDateWeekTime() {
	return new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());
}

/**
 * 显示系统日期
 */
function getSysDate(){
	return (new Date().getFullYear() + "-" + (new Date().getMonth() + 1) + "-"
	+ new Date().getDate());
}

/**
 * 显示系统日期时间
 */
function getSysDateTime(){
	return (new Date().getFullYear() + "-" + (new Date().getMonth() + 1) + "-"
	+ new Date().getDate()) + " " + (new Date().getHours()) + ":" + (new Date().getMinutes()) + ":" + (new Date().getSeconds());
}

/**
 * 关闭页面
 * 
 * @return
 */
function closeWindow()
{
	window.close();
}

/**
 * 设置表各行变色，并且鼠标掠过时变色
 * 
 * @param tableId
 * @return
 */
function setListTableCss(tableId)
{
	var jqueryid = tableId;
	if (jqueryid.indexOf("#") != 0)
	{
		jqueryid = "#"+jqueryid;
	}
//	$(jqueryid+" tr:odd").addClass("row-style1");
//	$(jqueryid+" tr:even").addClass("row-style2");
	$(jqueryid+" tr").hover(function(){  
				$(this).addClass("row-style3");  
			},
			function(){
				$(this).removeClass("row-style3");
			});
}

/**
 * 设置表各行变色，并且鼠标掠过时变色
 * 
 * @param tableId
 * @return
 */
function setListTableCssSelect(tableId, dbFn)
{
	var jqueryid = tableId;
	if (jqueryid.indexOf("#") != 0)
	{
		jqueryid = "#"+jqueryid;
	}
	$(jqueryid+" tr:odd").addClass("row-style1");
	$(jqueryid+" tr:even").addClass("row-style2");
	$(jqueryid+" tr").hover(function(){  
				$(this).addClass("row-style3");  
				$(this).css("cursor", "pointer");  
			},
			function(){
				$(this).removeClass("row-style3");
			});
	$(jqueryid+" tr").click(function()
			{
				var radio = $(this).find(":radio");
				//radio.checked = true;
				radio.attr("checked", true);
			});
	if (dbFn != null)
	{
		$(jqueryid+" tr").dblclick(function()
				{
					var radio = $(this).find(":radio");
					//radio.checked = true;
					radio.attr("checked", true);
					dbFn();
				});
	}
}

/**
 * 设置表各行变色，并且鼠标掠过时变色 针对2行的情况
 * 
 * @param tableId
 * @return
 */
function setListTableCss2(tableId)
{
	var jqueryid = tableId;
	if (jqueryid.indexOf("#") != 0)
	{
		jqueryid = "#"+jqueryid;
	}
	$(jqueryid+" tr:nth-child(4n+1)").addClass("row-style2");
	$(jqueryid+" tr:nth-child(4n+2)").addClass("row-style2");
	$(jqueryid+" tr:nth-child(4n+3)").addClass("row-style1");
	$(jqueryid+" tr:nth-child(4n+4)").addClass("row-style1");
	$(jqueryid+" tr:nth-child(4n+1)").hover(function(){  
				$(this).addClass("row-style3");
				$(this).next("tr:first").addClass("row-style3");
			},
			function(){
				$(this).removeClass("row-style3");
				$(this).next("tr:first").removeClass("row-style3");
			});
	$(jqueryid+" tr:nth-child(4n+2)").hover(function(){  
				$(this).addClass("row-style3");
				$(this).prev("tr:first").addClass("row-style3");
			},
			function(){
				$(this).removeClass("row-style3");
				$(this).prev("tr:first").removeClass("row-style3");
			});
	$(jqueryid+" tr:nth-child(4n+3)").hover(function(){  
				$(this).addClass("row-style3");
				$(this).next("tr:first").addClass("row-style3");
			},
			function(){
				$(this).removeClass("row-style3");
				$(this).next("tr:first").removeClass("row-style3");
			});
	$(jqueryid+" tr:nth-child(4n+4)").hover(function(){  
				$(this).addClass("row-style3");
				$(this).prev("tr:first").addClass("row-style3");
			},
			function(){
				$(this).removeClass("row-style3");
				$(this).prev("tr:first").removeClass("row-style3");
			});
}

/**
 * 设置表各行变色，并且鼠标掠过时变色 针对2行的情况
 * 
 * @param tableId
 * @return
 */
function setListTableCss2Select(tableId, dbFn)
{
	var jqueryid = tableId;
	if (jqueryid.indexOf("#") != 0)
	{
		jqueryid = "#"+jqueryid;
	}
	$(jqueryid+" tr:nth-child(4n+1)").addClass("row-style2");
	$(jqueryid+" tr:nth-child(4n+2)").addClass("row-style2");
	$(jqueryid+" tr:nth-child(4n+3)").addClass("row-style1");
	$(jqueryid+" tr:nth-child(4n+4)").addClass("row-style1");
	$(jqueryid+" tr:nth-child(4n+1)").hover(function(){  
				$(this).addClass("row-style3");
				$(this).css("cursor", "pointer");
				$(this).next("tr:first").addClass("row-style3");
			},
			function(){
				$(this).removeClass("row-style3");
				$(this).next("tr:first").removeClass("row-style3");
			});
	$(jqueryid+" tr:nth-child(4n+1)").click(function()
			{
				var radio = $(this).find(":radio");
				//radio.checked = true;
				radio.attr("checked", true);
			});
	if (dbFn != null)
	{
		$(jqueryid+" tr:nth-child(4n+1)").dblclick(function()
				{
					var radio = $(this).find(":radio");
					//radio.checked = true;
					radio.attr("checked", true);
					dbFn();
				});
	}
	$(jqueryid+" tr:nth-child(4n+2)").hover(function(){  
				$(this).addClass("row-style3");
				$(this).css("cursor", "pointer");
				$(this).prev("tr:first").addClass("row-style3");
			},
			function(){
				$(this).removeClass("row-style3");
				$(this).prev("tr:first").removeClass("row-style3");
			});
	$(jqueryid+" tr:nth-child(4n+2)").click(function()
			{
				var radio = $($(this).prev()[0]).find(":radio");
				radio.attr("checked", true);
			});
	if (dbFn != null)
	{
		$(jqueryid+" tr:nth-child(4n+2)").dblclick(function()
				{
					var radio = $($(this).prev()[0]).find(":radio");
					radio.attr("checked", true);
					dbFn();
				});
	}
	$(jqueryid+" tr:nth-child(4n+3)").hover(function(){  
				$(this).addClass("row-style3");
				$(this).css("cursor", "pointer");
				$(this).next("tr:first").addClass("row-style3");
			},
			function(){
				$(this).removeClass("row-style3");
				$(this).next("tr:first").removeClass("row-style3");
			});
	if (dbFn != null)
	{
		$(jqueryid+" tr:nth-child(4n+3)").dblclick(function()
				{
					var radio = $(this).find(":radio");
					//radio.checked = true;
					radio.attr("checked", true);
					dbFn();
				});
	}
	$(jqueryid+" tr:nth-child(4n+3)").click(function()
			{
				var radio = $(this).find(":radio");
				//radio.checked = true;
				radio.attr("checked", true);
			});
	$(jqueryid+" tr:nth-child(4n+4)").hover(function(){  
				$(this).addClass("row-style3");
				$(this).css("cursor", "pointer");
				$(this).prev("tr:first").addClass("row-style3");
			},
			function(){
				$(this).removeClass("row-style3");
				$(this).prev("tr:first").removeClass("row-style3");
			});
	$(jqueryid+" tr:nth-child(4n+4)").click(function()
			{
				var radio = $($(this).prev()[0]).find(":radio");
				radio.attr("checked", true);
			});
	if (dbFn != null)
	{
		$(jqueryid+" tr:nth-child(4n+4)").dblclick(function()
				{
					var radio = $($(this).prev()[0]).find(":radio");
					radio.attr("checked", true);
					dbFn();
				});
	}
}


function plaseWait(){
	$.funkyUI({
		showDialog:false
	});
}

function closeWait()
{
	$.unfunkyUI({});
}
/**
 * 关闭loading
 */
$(function() 
{
	if(window.parent.document.all('waiting') != null)
	{
		window.parent.document.all('waiting').style.display = "none";
	}
	
	$(document).bind("contextmenu", function() { return false; });
});

/**
 * 1.若clone一行 代码格式：
 * <table id="parentId">
 * 	 <tr style="display: none" id="childId">
 *   </tr>
 * </table>
 * 
 * 2.若clone多行 代码格式：
 * <div id="parentId">
 * <div style="display: none" id="childId">
 * </div>
 * </div>
 *
 * @param parentId  clone到的ID
 * @param childId 要clone的ID
 * @param indexId 隐藏域的ID
 * @param object  需要赋值的josn数据
 * @return
 */
function addTable(parentId,childId,indexId,object)
{
	var index = $("#"+indexId).val();
	
	var tr = $("#"+childId).clone();
	
	recursive(tr,index,object);
	
	tr.css("display","");

	$("#"+parentId).append(tr);
	
	$("#"+indexId).val(Number($("#"+indexId).val())+1);
}

function recursive(nodes,index,object)
{
	if (nodes == null)
	{
		return;
	}
	for (var i=0;i < nodes.length;i++) 
	{
		var curNode = nodes[i];
		if (curNode.id != undefined && curNode.id != '' && curNode.id != null)
		{
			if(curNode.value != undefined && object != null && object[curNode.id] != undefined)
			{
				curNode.value = object[curNode.id];
			}
			curNode.id = curNode.id.replace(/\{(\d+)\}/g,index);
		}
		if (curNode.name != undefined && curNode.name != '' && curNode.name != null)
		{
			curNode.name = curNode.name.replace(/\{(\d+)\}/g,index);
		}
		recursive(curNode.childNodes,index,object);
	}
}
//
function showLoad()
{
	if(window.parent.document.all('waiting') != null)
	{
		window.parent.document.all('waiting').style.display = "";
	}
	
}

/**
 * 检查输入的是否是数字.
 * 
 * @param value
 * @param e
 * @return
 */
function checkDecimal(value,e)
{
    var key = window.event ? e.keyCode : e.which;

    if( (key > 95 && key < 106)
    	|| (key > 47 && key < 60)
    	|| (key == 9)
    	|| (key == 37)
    	|| (key == 39)
        || (key == 110 && value.indexOf(".") < 0 )
        || (key == 190 && value.indexOf(".") < 0 )
        || (key == 109 && value.indexOf("-") < 0)
        || (key == 189 && value.indexOf("-") < 0)) {
    	
    } else if (key != 8 && key != 46){ 
        if (window.event) //IE  
        {  
            e.returnValue = false;   //event.returnValue=false 效果相同.  
        }  
        else //Firefox  
        {  
            e.preventDefault();  
        }
    }  
}

/**
 * 检查输入的是否是整数.
 * 
 * @param value
 * @param e
 * @return
 */
function checkInt(value,e)
{

    var key = window.event ? e.keyCode : e.which;  

    if( (key > 95 && key < 106)
    	|| (key > 47 && key < 60)
    	|| (key == 9)
    	|| (key == 37)// <-
    	|| (key == 39))// -> 
    {

    } else if (key != 8 && key != 46){

        if (window.event) //IE  
        {  
            e.returnValue = false;   //event.returnValue=false 效果相同.  
        }  
        else //Firefox  
        {  
            e.preventDefault();  
        }  
    }  
}